package java.utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * @author huang
 * @create 2025/3/16 15:29
 * @description 数据库工具类
 */



//工具
public class DBUtil {

    // 数据库配置（建议放到配置文件中）
    private static final String JDBC_URL = "jdbc:mysql://localhost:3306/hospital_booking?useSSL=false&serverTimezone=Asia/Shanghai";
    private static final String JDBC_USER = "root";
    private static final String JDBC_PASSWORD = "root";

    // 初始化驱动（MySQL 8+需要显式加载）
    static {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            throw new ExceptionInInitializerError("加载JDBC驱动失败: " + e.getMessage());
        }
    }

    // 基础版获取连接
    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(JDBC_URL, JDBC_USER, JDBC_PASSWORD);
    }

    // 关闭连接（带空值检查）
    public static void closeConnection(Connection conn) {
        if (conn != null) {
            try {
                if (!conn.isClosed()) {
                    conn.close();
                }
            } catch (SQLException e) {
                System.err.println("关闭连接时出错: " + e.getMessage());
            }
        }
    }
}
